package com.demo.juc.order;

/**
 * 测试线程顺序：
 * <p>
 * 多次运行 查看 T1 、T2 、T3 打印顺序
 */
public class ThreadOrderMain {
    public static void main(String[] args) throws InterruptedException {

        Thread t1 = new Thread(() -> {
            System.out.println("T1 init...");
        }, "T1");

        Thread t2 = new Thread(() -> {
            System.out.println("T2 init...");
        }, "T2");

        Thread t3 = new Thread(() -> {
            System.out.println("T3 init...");
        }, "T3");



        //case1: 线程的调度是随机的

//        t1.start();
//        t2.start();
//        t3.start();


        //case2: 如何保证线程执行顺序? 使用 join()
        //实际上让主线程等待子线程执行完成
        t1.start();
        t1.join();
        t2.start();
        t2.join();
        t3.start();
        t3.join();


    }
}
